<?php
namespace org\crawlgenie\modules;
use org\crawlgenie\application\environment\Request;
use org\crawlgenie\application\base\Factory;
use org\crawlgenie\application\document\Document;
use org\crawlgenie\application\filter\Filter;
use org\crawlgenie\models as Models;
use \Logger;
use \CGException;

/**
 * Description of JobsCrawlerController
 *
 * @author Jinson
 */

abstract class JobsCrawlerController extends DefaultCrawlerController {

    
    public function __construct() {
        $this->_init();
    }


    /**
     * Each custom controller for different Jobs source will need to implement
     * this method to extract required data from the jobs desc page 
     */
    abstract protected function getJobListingValues($content);
    
    abstract protected function crawlJobs();
    abstract protected function parseJobs($batchID, $author);
    abstract protected function runMaintenance($batchID, $author);
    
    
    abstract protected function getCategoriesToCrawl();
    abstract protected function setCategoriesToCrawl($categoriesToCrawl);
}
?>
